<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 字符集2
        // \d  0-9任意一个数字
        // \D  不能是0-9任意一个数字
        // \w  字母 数字 下划线 任意一个
        // \W  不能是字母 数字 下划线 任意一个
        // \s  匹配空格
        // \S  不能是空格
        // .   除了回车(\r)和换行(\n)外,任意内容

        // 元字符也可进行转义,转义之后,特殊含义---》普通

        // var str=".";
        // var reg=/^\.$/;
        // console.log(reg.test(str));

       //数量词
    //    ? 0次或1次
    //    * 0次或多次
    //    + 1次或多次
    //    {n,}  出现 >=n 次
    //    {n}  出现n次
    //    {n,m}  出现 >=n <=m 次
        
        // var str="aaaaaaa";//3-6
        // var reg=/^a{3,6}$/;
        // console.log(reg.test(str));

        //分组 ()  选择(或者) |
        // var str="c";
        // var reg=/^(a|b|c)$/;//[abc]
        // console.log(reg.test(str));

        // ?=XXX 正向预查  后面必须紧跟XXX
        // ?!XXX 负向预查  后面不能紧跟XXX

        // var str="donot";
        // var reg=/do(?!not)/;
        // console.log(reg.test(str));

        // var str="donot";
        // var reg=/do(?=not)/;
        // console.log(reg.test(str));

        // \b 单词边界
        // \B 非单词边界

        // 单词边界：单词与符号之间的间隔
        // 单词：字母、数字
        // 符号: 中英文符号、中文汉字

        // var str=";doone";
        // var reg=/\bdo\B/;
        //  console.log(reg.test(str));

        //左右都到头儿，左右都是 单词边界
        // var str="do";
        // var reg=/\bdo\b/;
        // console.log(reg.test(str));

        var str="我do1";
        var reg=/\bdo\B/;
        console.log(reg.test(str));

    </script>
</body>
</html>